home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2002 November / SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso / dist / motif21_dev.idb / usr / Motif-2.1 / include / Xm / DropSMgr.h.z / DropSMgr.h
C/C++ Source or Header  |  2002-10-15  |  4KB  |  151 lines

  1. /* 
  2.  *  @OSF_COPYRIGHT@
  3.  *  COPYRIGHT NOTICE
  4.  *  Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
  5.  *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
  6.  *  the full copyright text.
  7. */ 
  8. /* 
  9.  * HISTORY
  10. */ 
  11. /*   $TOG: DropSMgr.h /main/12 1997/03/04 14:20:59 dbl $ */
  12. /*
  13. *  (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  14. #ifndef _XmDropSMgr_h
  15. #define _XmDropSMgr_h
  16.  
  17. #include <Xm/Xm.h>
  18. #include <Xm/DragC.h>
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24.  
  25. #define XmCR_DROP_SITE_LEAVE_MESSAGE  1
  26. #define XmCR_DROP_SITE_ENTER_MESSAGE  2
  27. #define XmCR_DROP_SITE_MOTION_MESSAGE 3
  28. #define XmCR_DROP_MESSAGE             4
  29.  
  30. #define XmNO_DROP_SITE         1
  31. #define XmINVALID_DROP_SITE    2
  32. #define XmVALID_DROP_SITE    3
  33.  
  34. /* begin fix for CR 5754 */
  35. /* documented values are XmDROP_SITE_VALID and XmDROP_SITE_INVALID.
  36.    However, we can't just throw out the incorrect Xm[IN]VALID_DROP_SITE
  37.    now since people have probably started using them. Instead, we just
  38.    define the correct values using the incorrect ones.
  39. */
  40.  
  41. #define XmDROP_SITE_INVALID XmINVALID_DROP_SITE
  42. #define XmDROP_SITE_VALID XmVALID_DROP_SITE
  43.  
  44. /* end fix for CR 5754 */
  45.  
  46. enum { XmDRAG_UNDER_NONE, XmDRAG_UNDER_PIXMAP,
  47.     XmDRAG_UNDER_SHADOW_IN, XmDRAG_UNDER_SHADOW_OUT,
  48.     XmDRAG_UNDER_HIGHLIGHT };
  49.  
  50. enum { XmDROP_SITE_SIMPLE, XmDROP_SITE_COMPOSITE,
  51.     XmDROP_SITE_SIMPLE_CLIP_ONLY = 128,
  52.     XmDROP_SITE_COMPOSITE_CLIP_ONLY };
  53.  
  54. enum { XmABOVE, XmBELOW };
  55.  
  56. enum { XmDROP_SITE_ACTIVE, XmDROP_SITE_INACTIVE, XmDROP_SITE_IGNORE };
  57.  
  58. typedef struct _XmDragProcCallbackStruct {
  59.     int                reason;
  60.     XEvent *        event;
  61.     Time            timeStamp;
  62.     Widget            dragContext;
  63.     Position        x, y;
  64.     unsigned char    dropSiteStatus;
  65.     unsigned char    operation;
  66.     unsigned char    operations;
  67.     Boolean            animate;
  68. } XmDragProcCallbackStruct, * XmDragProcCallback;
  69.  
  70. typedef struct _XmDropProcCallbackStruct {
  71.     int                reason;
  72.     XEvent *        event;
  73.     Time            timeStamp;
  74.     Widget            dragContext;
  75.     Position        x, y;
  76.     unsigned char    dropSiteStatus;
  77.     unsigned char    operation;
  78.     unsigned char    operations;
  79.     unsigned char    dropAction;
  80. } XmDropProcCallbackStruct, * XmDropProcCallback;
  81.  
  82.  
  83. typedef struct _XmDropSiteVisualsRec {
  84.     Pixel    background;
  85.     Pixel    foreground;
  86.     Pixel    topShadowColor;
  87.     Pixmap    topShadowPixmap;
  88.     Pixel    bottomShadowColor;
  89.     Pixmap    bottomShadowPixmap;
  90.     Dimension    shadowThickness;
  91.     Pixel    highlightColor;
  92.     Pixmap    highlightPixmap;
  93.     Dimension    highlightThickness;
  94.     Dimension    borderWidth;
  95. } XmDropSiteVisualsRec, * XmDropSiteVisuals;
  96.  
  97.  
  98. /* DropSite Widget */
  99.  
  100. externalref WidgetClass xmDropSiteManagerObjectClass;
  101.  
  102. typedef struct _XmDropSiteManagerClassRec *XmDropSiteManagerObjectClass;
  103. typedef struct _XmDropSiteManagerRec *XmDropSiteManagerObject;
  104.  
  105. #ifndef XmIsDropSiteManager
  106. #define XmIsDropSiteManager(w)  XtIsSubclass((w), xmDropSiteManagerObjectClass)
  107. #endif /* XmIsDropSite */
  108.  
  109. /********    Public Function Declarations    ********/
  110.  
  111. extern void XmDropSiteRegister( 
  112.                         Widget widget,
  113.                         ArgList args,
  114.                         Cardinal argCount) ;
  115. extern void XmDropSiteUnregister( 
  116.                         Widget widget) ;
  117. extern Boolean XmDropSiteRegistered(
  118.                           Widget widget) ;
  119. extern void XmDropSiteStartUpdate( 
  120.                         Widget refWidget) ;
  121. extern void XmDropSiteUpdate( 
  122.                         Widget enclosingWidget,
  123.                         ArgList args,
  124.                         Cardinal argCount) ;
  125. extern void XmDropSiteEndUpdate( 
  126.                         Widget refWidget) ;
  127. extern void XmDropSiteRetrieve( 
  128.                         Widget enclosingWidget,
  129.                         ArgList args,
  130.                         Cardinal argCount) ;
  131. extern int XmDropSiteQueryStackingOrder( 
  132.                         Widget widget,
  133.                         Widget *parent_rtn,
  134.                         Widget **children_rtn,
  135.                         Cardinal *num_children_rtn) ;
  136. extern void XmDropSiteConfigureStackingOrder( 
  137.                         Widget widget,
  138.                         Widget sibling,
  139.                         Cardinal stack_mode) ;
  140. extern XmDropSiteVisuals XmDropSiteGetActiveVisuals( 
  141.                         Widget widget) ;
  142.  
  143. /********    End Public Function Declarations    ********/
  144.  
  145. #ifdef __cplusplus
  146. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  147. #endif
  148.  
  149. #endif /* _XmDropSMgr_h */
  150. /* DON'T ADD ANYTHING AFTER THIS #endif */
  151.